package com.atguigu.map;
import org.junit.Test;

import java.util.*;

public class GenericTest {
    @Test
    public void test1(){
        ArrayList list=new ArrayList();
        //需求:存放学生的成绩
        list.add(78);
        list.add(76);
        list.add(88);
        list.add(89);
        //问题一:类型不安全
        //list.add("TOM);

        for(Object score:list){
            //问题二:强转时，可能出现ClassCastException
            int stuScore=(Integer)score;
            System.out.println(stuScore);
        }
    }
    //在集合中考虑泛型的情况
    @Test
    public void test2(){
        ArrayList<Integer> integers = new ArrayList<Integer>();
        integers.add(123);
        integers.add(233);
        //编译时，就会进行类型检查，保证数据的安全
        for(Integer score:integers){
            System.out.print(score+" ");
        }
    }
    @Test
    public void test3(){
        HashMap<String,Integer> map=new HashMap<String,Integer>();
        map.put("1",1);
        map.put("2",2);
        map.put("#",3);
        Set<Map.Entry<String, Integer>> entries = map.entrySet();
        Iterator<Map.Entry<String, Integer>> iterator = entries.iterator();
        while(iterator.hasNext()){
            Map.Entry<String, Integer> next = iterator.next();
            String key=next.getKey();
            Integer value=next.getValue();
            System.out.println(key+"  "+value);
        }
    }
}
